package net.neptech.service;

import net.neptech.utils.UploadContext;
import org.springframework.web.multipart.MultipartFile;
public interface FileService {

    /**
     * 普通上传文件，其实如果不是特别大的，也够用了
     */
    void uploadFile(MultipartFile file) throws Exception;

    /**
     * 初始化大文件上传（返回 uploadId 和 fileId）
     */
    UploadContext initUpload(String filename, long fileSize, int totalChunks) throws Exception;

    /**
     * 上传单个分片
     */
    boolean uploadChunk(String fileId, int chunkNumber, MultipartFile chunk) throws Exception;

    /**
     * 完成上传（合并所有分片）
     */
    String completeUpload(String fileId) throws Exception;

    /**
     * 取消上传（清理分片）
     */
    void abortUpload(String fileId) throws Exception;

    /**
     * 在会议中实现共享文件上传
     */
    String uploadFileInMeeting(MultipartFile file,String userName,String conferenceId) throws Exception;
}


